Résumé de l'appareil numérique
Les
primitives sont principalement utilisées dans les sous-circuits pour modéliser
des dispositifs complets.
Les dispositifs de
stimulation sont utilisés dans le circuit pour fournir une entrée à d'autres
dispositifs numériques pendant la simulation.
Résumé primitif numérique
Cette
section fournit une référence pour chacune des primitives numériques supportées
par le simulateur, pour vous aider à créer des pièces numériques qui ne sont
pas dans la bibliothèque de modèles.
Primitive
BUF
INV
AND
NAND
OR
NOR
XOR
NXOR
BUFA
INVA
ANDA
NANDA
ORA
NORA
XORA
NXORA
Portes à trois
états
BUF3
INV3
AND3
NAND3
OU3
NOR3
XOR3
NXOR3
BUF3A
INV3A
AND3A
NAND3A
OR3A
NOR3A
XOR3A
NXOR3A
Flip-flops et
latches
JKFF
DFF
SRFF
DLTCH
Appareils numériques Résumé des
primitives numériques
Le
format de spécification d'une primitive numérique suit le format général décrit
dans la prochaine section. Des formats spécifiques aux primitives sont
également décrits, ce qui inclut les paramètres et les nœuds qui sont
spécifiques au type primitif.
Le format de
modèle de synchronisation spécifique pour chaque primitive est également
répertorié, ainsi que le paramètres du modèle de synchronisation.
Par exemple, la
pièce 74393 fournie dans la bibliothèque de modèles est définie comme un
sous-circuit composé des appareils U comme indiqué ci-dessous.
.subckt 74393 A
CLR QA QB QC QD
+ OPTIONAL : DPWR=$G_DPWR
DGND=$G_DGND
+ PARAMS :
MNTYMXDLY=0 IO_LEVEL=0
UINV inv DPWR
DGND
+ CLR CLRBAR
+ D0_GATE IO_STD
IO_LEVEL={IO_LEVEL}
U1 jkff(1) DPWR
DGND
+ $D_HI CLRBAR A
$D_HI $D_HI QA_BUF $D_NC
+ D_393_1 IO_STD
MNTYMXDLY={MNTYMXDLY}=
+
IO_LEVEL={IO_LEVEL}
U2 jkff(1) DPWR
DGND
+ $D_HI CLRBAR
QA_BUF $D_HI $D_HI QB_BUF $D_NC
+ D_393_2 IO_STD
MNTYMXDLY={MNTYMXDLY}
U3 jkff(1) DPWR
DGND
+ $D_HI CLRBAR
QB_BUF $D_HI $D_HI QC_BUF $D_NC
+ D_393_2 IO_STD
MNTYMXDLY={MNTYMXDLY}
U4 jkff(1) DPWR
DGND
+ $D_HI CLRBAR
QC_BUF $D_HI $D_HI QD_BUF $D_NC
+ D_393_3 IO_STD
MNTYMXDLY={MNTYMXDLY}
UBUFF bufa(4)
DPWR DGND
+ QA_BUF QB_BUF
QC_BUF QD_BUF QA QB QC QD
+ D_393_4 IO_STD
MNTYMXDLY={MNTYMXDLY}IO_LEVEL={IO_LEVEL}
.ends
Format primitif numérique général
Le
format des primitives numériques est similaire à celui des appareils
analogiques. Une différence est que la plupart les primitives numériques
utilisent deux modèles au lieu d'un. L'un des modèles est le modèle de
synchronisation, qui spécifie les délais de propagation et les contraintes
temporelles, telles que les temps d'établissement et de maintien.
Le format général
des primitives numériques est indiqué ci-dessous. Chaque instruction peut
s'étendre sur un ou plusieurs lignes en utilisant le caractère + (suite de
ligne) dans la première position de colonne. Les commentaires peuvent être
ajouté à chaque ligne en utilisant le ; (commentaire en ligne). Pour des
informations spécifiques sur chaque type primitif, voir les sections qui
suivent.
Forme générale
U<nom> <type
primitive> [(<valeur du paramètre>*)]
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud>*
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+
[MNTYMXDLY=<valeur de sélection du délai>]
+
[IO_LEVEL=<interface subckt select value>]
Format du
modèle de chronométrage
.MODEL <nom du
modèle> <type de modèle> ( <paramètres du modèle>* )
Exemples
U1 NAND(2)
$G_DPWR $G_DGND 1 2 10 D0_GATE IO_DFT
U2 JKFF(1)
$G_DPWR $G_DGND 3 5 200 3 3 10 2 D_293ASTD IO_STD
U3 INV $G_DPWR
$G_DGND IN OUT D_INV IO_INV MNTYMXDLY=3 IO_LEVEL=2
Arguments et
options
<type
primitif> [(<valeur du paramètre>*)]
Le
type d'appareil numérique, tel que NAND, JKFF ou INV. Il est suivi de zéro ou
plus paramètres spécifiques au type primitif, comme le nombre d'entrées. Le
nombre et la signification des paramètres dépend du type primitif. Voir les
sections qui suivent pour une description complète de chaque type primitif et
de ses paramètres.
<nœud
d'alimentation numérique> <nœud de terre numérique>
Ces
nœuds sont utilisés par les sous-circuits d'interface qui relient les nœuds
analogiques aux nœuds ou vice versa.
<nœud>*
Un
ou plusieurs nœuds d'entrée et de sortie. Le nombre de nœuds dépend du type
primitif et ses paramètres. Les appareils analogiques, les appareils numériques
ou les deux peuvent être connectés à un nœud.
Portes
Les
portes logiques sont de deux types : standard et à trois états.
Portails
standards
Format de
l'appareil
U<nom>
<type de porte> (<valeur du paramètre>*)
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud
d'entrée>* <nœud de sortie>*
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+
[MNTYMXDLY=<valeur de sélection du délai>]
+
[IO_LEVEL=<interface subckt select value>]
Les
types de portes standard et leurs paramètres sont répertoriés dans Types de
portes standard.
Format du
modèle de chronométrage
<nom du modèle
de synchronisation> UGATE [paramètres du modèle]
Exemples
U5 AND(2) $G_DPWR
$G_DGND IN0 IN1 OUT ; porte ET à deux entrées
+ T_AND2 IO_STD
U2 INV $G_DPWR
$G_DGND 3 5 ; INVERTER simple
+ T_INV IO_STD
U13 NANDA(2,4)
$G_DPWR $G_DGND ; quatre portes NAND à deux entrées
+ INA0 INA1 INB0
INB1 INC0 INC1
+ IND0 IND1 OUTA
OUTB OUTC OUTD
+ T_NANDA IO_STD
.MODEL T_AND2
UGATE ; Modèle de synchronisation AND2
+ TPLHMN=15ns
TPLHTY=20ns TPLHMX=25ns
+ TPHLMN=10ns
TPHLTY=15ns TPHLMX=20ns
+)
Portes à trois
états
Format de
l'appareil
U<nom>
<type de porte à trois états> [( <valeur du paramètre>* )]
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud
d'entrée>* <nœud d'activation> <nœud de sortie>*
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+
[MNTYMXDLY=<valeur de sélection du délai>]
+
[IO_LEVEL=<interface subckt select value>]
Format du
modèle de chronométrage
.MODEL <nom du
modèle de synchronisation> UTGATE [paramètres du modèle]
Exemples
U5 AND3(2)
$G_DPWR $G_DGND IN0 IN1 ENABLE OUT ; two-input AND
+ T_TRIAND2
IO_STD
U2 INV3 $G_DPWR
$G_DGND 3 100 5 ; Onduleur
+ T_TRIINV IO_STD
U13 NAND3A(2,4)
$G_DPWR $G_DGND ; quatre NAND à deux entrées
+ INA0 INA1 INB0
INB1 INC0 INC1 IND0 IND1
+ ENABLE OUTA
OUTB OUTC OUTD
+ T_TRINAND
IO_STD
.MODEL T_TRIAND2
UTGATE ; Modèle de synchronisation TRI-AND2
+ TPLHMN=15ns
TPLHTY=20ns TPLHMX=25ns ...
+ TPZHMN=10ns
TPZHTY=15ns TPZHMX=20ns
+ )
Remarques
Les digitaux de
PElectro sont composés de 10 nœuds (PElectro standard) ou de 8 nœuds (LTSpice
ou PElectro).
10 nœuds du
composant d’affichage
Les nœuds 1 à 4,
6 ou 7 sont des entrées correspondant au type primitif dans la structure à 10
nœuds de PElectro (exemple : 1 à 4, 6 ou 7 les portes d’entrée AND).
Le nœud 9 est la
porte inverseuse ou non inverseuse de sortie du composant.
Le nœud 5
correspond au négatif (-) ou à la masse du composant, tandis que le nœud 10
correspond au positif (+). Le nœud 8 permet de connaitre les nœuds qui ne sont
pas utilisés en ayant les mêmes valeurs de nœud. Si un nœud est connecté au nœud
8 alors il n’entre pas dans le calcul de la fonction du composant.
8 nœuds du
composant d’affichage
Les différences
avec le composant 10 nœuds sont que le négatif et le positif n’existent pas, le
nœud de sortie 9 est le nœud 7 et le nœud 6 est la porte inverseuse du nœud 7.
Les nœuds d'entrée 6 et 7 n'existent pas.
Flip-flops et
latches
Vous
pouvez outrepasser l'état de démarrage X en définissant .OPTIONS (options
d'analyse) DIGINISTATE à zéro ou à un. S'il est mis à zéro, toutes les bascules
et tous les verrous du circuit sont effacés. De même, s'il est défini sur un,
tous ces dispositifs sont prédéfinis. Toute autre valeur produit le démarrage
par défaut (X) Etat. L'option DIGINISTATE est utile dans les situations où
l'état initial de la bascule est sans importance pour la fonction du circuit,
comme une bascule à bascule dans un diviseur de fréquence.
Il est important
de noter que si l'état initial est défini sur zéro ou un, l'appareil émet
toujours un X au début de la simulation si les entrées produiraient normalement
un X sur la sortie.
Par exemple, si
l'état initial est défini sur un, mais que l'horloge est un X au temps zéro, Q
et QBar les deux vont à X lorsque la simulation commence.
Le
simulateur prend en charge quatre types de bascules déclenchées par
front :
• Une bascule de
type D (DFF), déclenchée par un front positif
• bascule J-K
(JKFF), qui est déclenchée par un front négatif
• Flip-flop D à
double bord (DFFDE), qui est sélectivement à bord positif et/ou négatif
déclenché
• Flip-flop J-K à
double bord (JKFFDE), qui est sélectivement à bord positif et/ou négatif
déclenché
Format de
l'appareil
U<nom> DFF
(<nombre de bascules>)
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud de
barre prédéfinie> <nœud de barre claire> <nœud d'horloge>
+ <d nœud
1> ... <d nœud n>
+ <q sortie
1> ... <q sortie n>
+ <qbar sortie
1> ... <qbar sortie n>
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+
[MNTYMXDLY=<valeur de sélection du délai>]
+
[IO_LEVEL=<interface subckt select value>]
U<nom> JKFF
(<nombre de bascules>)
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <presetbar
node> <clearbar node> <clockbar node>
+ <j nœud
1> ... <j nœud n>
+ <k nœud
1> ... <k nœud n>
+ <q sortie
1> ... <q sortie n>
+ <qbar sortie
1> ... <qbar sortie n>
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+
[MNTYMXDLY=<valeur de sélection du délai>]
+
[IO_LEVEL=<interface subckt select value>]
U<nom>
DFFDE(<nb de bascules>)
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud de
barre prédéfinie> <nœud clrbar> <nœud d'horloge>
+ <nœud
d'activation de front positif> <nœud d'activation de front négatif>
+ <d nœud
1> ... <d nœud n>
+ <q sortie
1> ... <q sortie n>
+ <qbar sortie
1> ... <qbar sortie n>
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+ [MNTYMXDLY =
<valeur de sélection du délai>]
+ [IO_LEVEL =
<interface subckt select value>]
U<nom>
JKFFDE(<nombre de bascules>)
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud de
barre prédéfinie> <nœud clrbar> <nœud d'horloge>
+ <nœud
d'activation de front positif> <nœud d'activation de front négatif>
+ <j nœud
1> ... <j nœud n>
+ <k nœud
1> ... <k nœud n>
+ <q sortie
1> ... <q sortie n>
+ <qbar sortie
1> ... <qbar sortie n>
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+ [MNTYMXDLY =
<valeur de sélection du délai>]
+ [IO_LEVEL =
<interface subckt select value>]
Format du
modèle de chronométrage
.MODEL <nom du
modèle de chronométrage> UEFF [paramètres du modèle]
Exemples
U5 JKFF(1)
$G_DPWR $G_DGND PREBAR CLRBAR CLKBAR
* une bascule JK
+ J K Q QBAR
+ T_JKFF IO_STD
U2 DFF(2) $G_DPWR
$G_DGND PREBAR CLRBAR CLK
* deux DFF
flip-flops
+ D0 D1 Q0 Q1
QBAR0 QBAR1
+ T_DFF IO_STD
.MODEL T_JKFF
UEFF(...) ; Modèle de synchronisation JK
Commentaires
Utilisez
<no. de bascules> pour spécifier le nombre de bascules dans l'appareil.
Les trois nœuds, <presetbar node>, <clearbar node> et
<clock(bar) node>, sont communs à toutes les bascules de l'appareil.
Le
<positive-edge enable node> et le <negative-edge enable node> sont communs
à tous flip-flops dans les flip-flops à double bord.
Gated latch
Le
simulateur prend en charge deux types de verrous à porte: la bascule S-R (SRFF)
et le type D latch (DLTCH).
Paramètres du
modèle de synchronisation de verrouillage à porte
Format de
l'appareil
U<nom> SRFF
(<nombre de bascules>)
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud de
barre prédéfinie> <nœud de barre d'effacement> <nœud de porte>
+ <s nœud
1> ... <s nœud n>
+ <r nœud
1> ... <r nœud n>
+ <q sortie
1> ... <q sortie n>
+ <qbar sortie
1> ... <qbar sortie n>
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+
[MNTYMXDLY=<valeur de sélection du délai>]
+
[IO_LEVEL=<interface subckt select value>]
U<nom>
DLTCH (<nombre de verrous>)
+ <nœud
d'alimentation numérique> <nœud de terre numérique>
+ <nœud de
barre prédéfinie> <nœud de barre d'effacement> <nœud de porte>
+ <d nœud
1> ... <d nœud n>
+ <q sortie
1> ... <q sortie n>
+ <qbar sortie
1> ... <qbar sortie n>
+ <nom du
modèle de synchronisation> <nom du modèle d'E/S>
+
[MNTYMXDLY=<valeur de sélection du délai>]
+
[IO_LEVEL=<interface subckt select value>]
Formulaire
de modèle
.MODEL <nom du
modèle de synchronisation> UGFF [paramètres du modèle]
Exemples
U5 SRFF(4) $G_DPWR
$G_DGND PRESET CLEAR GATE
* quatre latches
S-R
+ S0 S1 S2 S3 R0
R1 R2 R3
+ Q0 Q1 Q2 Q3 QB0
QB1 QB2 QB3
+ T_SRFF IO_STD
U2 DLTCH(8)
$G_DPWR $G_DGND PRESET CLEAR GATE
* huit latches D
+ D0 D1 D2 D3 D4
D5 D6 D7
+ Q0 Q1 Q2 Q3 Q4
Q5 Q6 Q7
+ QB0 QB1 QB2 QB3
QB4 QB5 QB6 QB7
+ T_DLTCH IO_STD
.MODEL T_SRFF
UGFF(...) ; Modèle de synchronisation SRFF
Commentaires
Utilisez
<no. de bascules> pour spécifier le nombre de bascules dans l'appareil.
Les trois nœuds, <presetbar node>, <clearbar node> et <gate
node>, sont communs à toutes les bascules du dispositif.
A. Fonctions
spéciales (LTSpice)
Noms des
symboles : INV, BUF, AND, OR, XOR, SCHMITT, SCHMTBUF, SCHMTINV, DFLOP,
VARISTOR et MODULATE
Syntaxe :
Annn n001 n002 n003 n004 n005 n006 n007 n008 <modèle> [paramètres
d'instance]
INV, BUF, AND, OR
et XOR sont des portes comportementales idéalisées génériques. Toutes les
portes sont connectées à huit bornes. Ces portes ne nécessitent aucune
alimentation externe. Le courant provient des sorties complémentaires (bornes 6
et 7) et est renvoyé par la borne commune (borne 8). Les bornes 1 à 5 sont des
entrées. Les entrées et sorties inutilisées doivent être connectées à la borne
8. Le compilateur de dispositifs numériques considère cela comme un indicateur
de non-utilisation de cette borne et la supprime de la simulation. Ceci peut
engendrer une situation potentiellement déroutante : les portes ET
agissent différemment selon qu'une entrée est à la masse ou à zéro volt. Si la
masse est la borne commune de la porte, l'entrée à la masse n'est pas en
condition logique fausse, mais simplement hors simulation. L'implémentation de
ces portes permet à un dispositif de fonctionner comme une porte à 2, 3, 4 ou 5
entrées avec une sortie vraie, inversée ou complémentaire, sans impact sur la
vitesse de simulation pour les bornes inutilisées. Autrement dit, le dispositif
ET fonctionne comme 12 types de portes ET différents. Les portes utilisent par
défaut une logique 0 V/1 V avec un seuil logique de 0,5 V, aucun délai de
propagation et une impédance de sortie de 1 ohm. Les caractéristiques de sortie
sont définies avec les paramètres d'instance suivants :
|
Name |
Default |
Description |
|
Vhigh |
1 |
Logic
high level |
|
Vlow |
0 |
Logic
low level |
|
Trise |
0 |
Rise
time |
|
Tfall |
Trise |
Fall
time |
|
Tau |
0 |
Output
RC time constant |
|
Cout |
0 |
Output
capacitance |
|
Rout |
1 |
Output
impedance |
|
Rhigh |
Rout |
Logic
high level impedance |
|
Rlow |
Rout |
Logic
low level impedance |
Notez que tous les
paramètres ne peuvent pas être spécifiés simultanément sur la même instance.
Par exemple, les caractéristiques de sortie sont soit un temps de montée de la
variation, soit une constante de temps RC, mais pas les deux.
Le délai de
propagation est par défaut de zéro et est défini avec le paramètre d'instance
Td. Le temps de maintien de l'entrée est égal au délai de propagation.
Le seuil logique
d'entrée est par défaut de 0,5*(Vhaut+Vbas), mais peut être défini avec le
paramètre d'instance Ref. Le temps de maintien est égal au délai de
propagation.
Le dispositif XOR
exclusif présente un comportement atypique lorsque plus de deux entrées sont
utilisées : la sortie est vraie uniquement si une seule entrée est vraie.
Utilisez la propriété associative des XOR avec plusieurs dispositifs XOR pour
implémenter un bloc XOR à plus de deux entrées.
Les dispositifs à
trigger de Schmitt ont des caractéristiques de sortie similaires à celles des
portes. Leurs points de déclenchement sont spécifiés avec les paramètres
d'instance Vt et Vh. Le point de déclenchement bas est Vt-Vh et le point de
déclenchement haut est Vt+Vh.
Par défaut, les
portes et les dispositifs à trigger de Schmitt ne fournissent aucune
information de pas de temps au moteur de simulation. Autrement dit, ils ne
détectent pas le moment où ils sont sur le point de changer d'état et
s'assurent qu'un pas de temps est proche de chaque côté du changement d'état.
Le paramètre d'instance tripdt peut être défini pour définir le pas de temps
maximal du simulateur lors des changements d'état.
La VARISTOR est
une varistance commandée en tension. Sa tension de claquage est définie par la
tension entre les bornes 1 et 2. Son impédance de claquage est spécifiée par le
paramètre d'instance rclamp. Voir le schéma d'exemple .\examples\Educational\varistor.asc
Le dispositif
MODULATE est un oscillateur commandé en tension. Voir le schéma d'exemple
.\examples\Educational\PLL.asc. La fréquence d'oscillation instantanée est
définie par la tension sur l'entrée FM. La conversion de la tension en
fréquence est linéaire et définie par les deux paramètres d'instance, mark et
space. Mark correspond à la fréquence lorsque l'entrée FM est à 1 V et space à
la fréquence lorsque l'entrée est à 0 V. L'amplitude est définie par la tension
sur l'entrée AM et est par défaut à 1 V si cette entrée est inutilisée
(connectée au commun MODULATE).
La capture
schématique de LTspice gère les symboles de ces composants de manière
spécifique. Toutes les bornes non connectées sont automatiquement connectées à
la borne 8. De plus, si la borne 8 est non connectée, elle est connectée au
nœud 0.
Noms des
symboles : OTA, OTA2, MOTA, MOTA2, MOTA3 et MOTA8
Syntaxe :
Annn n001 n002 n003 n004 n005 n006 n007 n008 OTA [paramètres d'instance]
Il existe un cas
particulier de composant A appelé OTA. Il s'agit d'un amplificateur
multiplicateur à transconductance à quatre quadrants, pierre angulaire de la
plupart des macromodèles d'amplificateurs opérationnels dans LTspice. La
fonction de transfert par défaut est une tangente hyperbolique. Il prend en
charge les densités de bruit de tension et de courant d'entrée, qui peuvent
être spécifiées sous forme d'équations arbitraires de fréquence et de tensions
de polarisation. Les densités de courant de mode normal et de mode commun sont
prises en charge. Si vous utilisez cet appareil, veuillez suivre son
comportement pour vous assurer de bien comprendre son fonctionnement.
|
Name |
Default |
Description |
|
G |
1℧ |
Transconductance |
|
Vhigh |
2V |
High
limit of voltage compliance |
|
Vlow |
0V |
Low
limit of voltage compliance |
|
Rclamp |
1Ω |
Clamp
impedance used to limit voltage compliance |
|
epsilon |
0V |
Voltage
range to gradually switch in Rclamp impedance |
|
Iout |
10µA |
Maximum
output current |
|
Isink |
-Iout |
Maximum
sink current |
|
asym |
Flag
to scale tanh() such that Iout and Isink are obeyed as well as zero output
for zero input |
|
|
linear |
Flag
to use a linear transfer function instead of tanh() |
|
|
ref |
0V |
Offset
voltage |
|
en |
0V/√Hz |
Equivalent
input voltage noise density |
|
enk |
0Hz |
Equivalent
input voltage noise density corner frequency. |
|
in |
0A/√Hz |
Equivalent
input normal mode current noise density |
|
ink |
0Hz |
Equivalent
input normal current noise density corner frequency. |
|
incm |
0A/√Hz |
Equivalent
input common mode current noise density |
|
incmk |
0Hz |
Equivalent
input common mode current noise density corner frequency. |
|
Rout |
∞ |
Resistance
loading the output |
|
Cout |
0F |
Capacitance
loading the output |
|
EAclk |
Reference
designator of gate indicating a clock period for steady state detection. Net
zero current out of the OTA integreated over this period is deemed steady
state. |
|
|
Ibuck |
Expression
of current that is presumed to not be involved in slewing the voltage of the
compensation capacitor. |